package cn.bugstack.infrastructure.dao;

import cn.bugstack.infrastructure.dao.po.RaffleActivityAccountMonth;
import cn.bugstack.middleware.db.router.annotation.DBRouter;
import org.apache.ibatis.annotations.Mapper;

/**
 * @author Fuzhengwei bugstack.cn @小傅哥
 * @description 抽奖活动账户表-月次数
 * @create 2024-04-03 15:57
 */
@Mapper
public interface IRaffleActivityAccountMonthDao {

    /**
     * 查询活动账户月次数信息
     * @param raffleActivityAccountMonthReq 抽奖活动账户表-月次数
     * @return 抽奖活动账户表-月次数
     */
    @DBRouter(key = "userId")
    RaffleActivityAccountMonth queryActivityAccountMonthByUserId(RaffleActivityAccountMonth raffleActivityAccountMonthReq);

    /**
     * 更新活动账户月次数信息
     * @param raffleActivityAccountMonth 抽奖活动账户表-月次数
     * @return 受影响的行数
     */
    int updateActivityAccountMonthSubstractionQuota(RaffleActivityAccountMonth raffleActivityAccountMonth);

    /**
     * 插入活动账户月次数信息
     * @param raffleActivityAccountMonth 抽奖活动账户表-月次数
     */
    void insertActivityAccountMonth(RaffleActivityAccountMonth raffleActivityAccountMonth);

    /**
     * 更新月活动额度账户
     * @param raffleActivityAccountMonth 抽奖活动账户表-月次数
     */
    void addAccountQuota(RaffleActivityAccountMonth raffleActivityAccountMonth);
}
